/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Sueca;

/**
 *
 * @author Carolina
 */
public class Jogador {

    private final Integer num_cartas = 40;

    private Integer idJogador;
    private String nome;
    private Carta jogo[];
    private boolean human_flag;

    public Jogador() {
    }

    public Jogador(Integer idJogador, String nome, Carta[] jogo) {
        this.idJogador = idJogador;
        this.nome = nome;
        this.jogo = jogo;
        this.human_flag = false;
    }

    public Integer getIdJogador() {
        return idJogador;
    }

    public Carta[] getJogo() {
        return jogo;
    }

    public String getNome() {
        return nome;
    }

    public boolean isHuman(){
        return human_flag;
    }

    public void setIdJogador(Integer idJogador) {
        this.idJogador = idJogador;
    }

    public void setJogo(Carta[] jogo) {
        this.jogo = jogo;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public void setHuman(){
        this.human_flag = true;
    }

    @Override
    public String toString() {
        return this.getNome() + this.getIdJogador();
    }


     public Carta escolherTrunfo(Carta[] baralho, Integer opcao){

        //Opcao 0 o jogador escolheu pegar a carta de cima do bolo
        if (opcao == 0){
            return baralho[0];
        }else{
            //senão, Opcao 1 o jogador escolehu pegar a ultima carta do bolo
            return baralho[num_cartas - 1];
        }

    }

    /**
    //retira do array a carta que o jogagor jogou na rodada
    public void jogar(Jogador jog, Carta crt){

        Carta mao[];
        mao = jog.getJogo();

        for (int i=0; i < jog.getJogo().length; i++){
           if (mao[i] == crt)
               mao[i] = null;
        }
    }
    **/

    public void jogar(Jogador jog, Carta crt){

        Carta mao[];
        mao = jog.getJogo();

        int erase = 0;
        int tamanho = mao.length;
        for (int i=0; i<tamanho; i++){
            if (crt.GetId() == mao[i].GetId()){
                erase = i;
            }
        }
        Carta novoJogo[] = null;
        novoJogo = new Carta[tamanho - 1];

        for(int j=0; j < erase; j++){
            novoJogo[j] = mao[j];
        }

        for (int z = (erase+1); z < tamanho; z++){
            novoJogo[z-1] = mao[z];
        }

        jog.setJogo(novoJogo);

    }

}
